Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

time-to-seconds

Package Overview
Dependencies
Maintainers
1
Versions
59
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

time-to-seconds

Non-strict format, time to seconds converter

  • 1.8.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
159
increased by16.06%
Maintainers
1
Weekly downloads
 
Created
Source

time-to-seconds

Release codecov CodeFactor NPM Version NPM Downloads NPM Downloads install size NPM npms.io (maintenance) npms.io (quality) npms.io (popularity) npms.io (final) Snyk Vulnerabilities for npm package semantic-release: angular

Unopinionated time to seconds converter that lets you decide the format of your h:m:s; as long as you keep the number of colons between 0 and 2 it does not matter if you use "hh:mm:ss", "h:m:s" or "hhh:mmmm:ssss" format - you will always get the number of seconds back as an integer.

Documentation

Usage

Pass time as a string, e.g.:

  • "h:m:s"
  • "m:s"
  • ":s"
  • "s"
  • or any variation of "h:m:s", e.g. ":m:s"; as long as you keep the number of colons between 0 and 2, where h, m or s are any numbers, you will get seconds - as a number - in return.

Examples

var timeToSeconds = require("time-to-seconds");

timeToSeconds("2:2:2");
// => 7322

timeToSeconds("02:02:02");
// => 7322

timeToSeconds("2:02:02");
// => 7322

timeToSeconds("2:2:02");
// => 7322

timeToSeconds("2:");
// => 120

timeToSeconds("2:0");
// => 120

timeToSeconds("02:0");
// => 120

timeToSeconds("02:00");
// => 120

timeToSeconds(":2");
// => 2

timeToSeconds("2");
// => 2

timeToSeconds("0:2");
// => 2

timeToSeconds("0:02");
// => 2

timeToSeconds("00:02");
// => 2

timeToSeconds("");
// => 0

timeToSeconds("0");
// => 0

Empty Strings

The non-strict format will allow for the input of an empty string which will be treated the same as passing the number 0; the below inputs are equivalent and will return 0 seconds:

  • timeToSeconds("")
  • timeToSeconds("0")
  • timeToSeconds(":0")
  • timeToSeconds("::0")
  • timeToSeconds(":")
  • timeToSeconds("::")

Error Handling

timeToSeconds("Anything else than time string");
// TypeError: 'time-to-seconds: wrong argument type - something else than a number string in format "number", "number:number" or "number:number:number" was passed. See documentation for more information on argument formatting: https://www.npmjs.com/package/time-to-seconds.'

timeToSeconds("2:2:2:2");
// TypeError: 'time-to-seconds: too many colons - make sure the function argument is a number string in format "number", "number:number" or "number:number:number". See documentation for more information on argument formatting: https://www.npmjs.com/package/time-to-seconds.'

Decimal Numbers

If you pass decimals to the function, e.g.:

  • timeToSeconds("0.2:00") or
  • timeToSeconds("0.2:")

(in the above examples the inputs are the same) it will be interpreted as 0.2 of one minute, so 12 seconds (60 * 0.2 = 12 seconds).

Similarly, if you pass, e.g.:

  • timeToSeconds("0.2:00:00") or
  • timeToSeconds("0.2::")

(again, the inputs are the same) it will be interpreted as 0.2 of one hour, so 720 seconds (3600 * 0.2 = 720 seconds).

Together:

  • timeToSeconds("0.2:0.2:00") or
  • timeToSeconds("0.2:0.2:")

will return 732 seconds (0.2 of one hour is 720 seconds, 0.2 of one minute is 12 seconds; 720 + 12 = 732 seconds)

Note: passing decimals as seconds, e.g.: timeToSeconds("0:0:0.2"), will simply return 0.2 seconds.

Math

You could calculate the value to convert and because of the non-strict format, pass the calcualted value to the function, e.g.:

var num = Math.log10(100);
timeToSeconds(`${num.toString()}:`);
// => 120

timeToSeconds(`${Math.log10(100).toString()}:`);
// => 120

License

MIT

Keywords

FAQs

Package last updated on 27 Oct 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc